<?php


class Mantenimiento_model extends CI_Model 
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////
    function __construct()
    {        
        parent::__construct();
		
		$this->load->database();
    }
	
	
	function crearOrden($d)
	{
		
$d['servicio']=$this->input->post('servicio');
$d['ubicacion']=$this->input->post('ubicacion');
$d['motivo']=$this->input->post('motivo');
$d['observaciones']=$this->input->post('observaciones');
$d['solicita']=$this->input->post('solicita');
	 $insert = array(	
		'servicio' => $d['servicio'],
		'ubicacion' => $d['ubicacion'],
	     'motivo' => $d['motivo'],
		 'solicita' => $d['solicita'],
		 'fecha_ingreso' => date('Y-m-d H:i:s'),
		 'id_usuario_crea' => $this -> session -> userdata('id_usuario'),
		'observaciones' => $d['observaciones'],);
		$this -> db -> insert('manteni_ordenes',$insert);
		
		
	}
	/////////////////////////////////////////////
	function OrdenAceptar($d)
	{
	 $update = array(	
		   'estado' => 'ACEPTADA',
		 'fecha_confirma' => date('Y-m-d H:i:s'),
		 'id_usuario_confirma' => $this -> session -> userdata('id_usuario'),);
		$this -> db -> where ('manteni_ordenes.id', $d);
		$this -> db -> update('manteni_ordenes',$update);
		
		
	}
		/////////////////////////////////////////////
	function OrdenFinalizar($d)
	{
	 $update = array(	
		   'estado' => 'FINALIZADA',
		 'fecha_finaliza' => date('Y-m-d H:i:s'),
		 'servicio_prestado' => $d['servicio_prestado'],
		  'consecutivo' => $d['consecutivo'],
		  'descripcion_trabajo' => $d['descripcion_trabajo'],
		 'id_usuario_finaliza' => $this -> session -> userdata('id_usuario'),);
		$this -> db -> where ('manteni_ordenes.id', $d['id']);
		$this -> db -> update('manteni_ordenes',$update);
		
		
		
		for($i=0;$i<count($d['cantidad_dx']);$i++)
			{
				 $insert = array(
				'cantidad'=> $d['cantidad_dx'][$i],
				'id_material'=> $d['dx_ID'][$i],
				'id_orden' => $d['id'] );
				$this->db->insert('manteni_ordenes_materiales', $insert);					
			}
		   
		
	}
	
	////////////////////////////////////////////////////////////
function obtenerlista($estado)
{
	
  $this->db->from('manteni_ordenes');
 $this->db->where('manteni_ordenes.estado', $estado);
 $this->db->order_by('manteni_ordenes.id','ASC');
  
  $result = $this->db->get();
  return $result->result_array();	
}
////////////////////////////////////////////////////////////
	////////////////////////////////////////////////////////////
function obtenerOrden($id)
{
	
  $this->db->from('manteni_ordenes');
 $this->db->where('manteni_ordenes.id', $id);
  
  $result = $this->db->get();
  return $result->result_array();	
}
////////////////////////////////////////////////////////////
function obtenerMaterialOrden($id)
{
	 $this->db->select('manteni_ordenes_materiales.cantidad,manteni_inventario.descripcion');
  $this->db->from('manteni_ordenes_materiales');
  $this->db->join('manteni_inventario','manteni_ordenes_materiales.id_material = manteni_inventario.id');
 $this->db->where('manteni_ordenes_materiales.id_orden', $id);
  
  $result = $this->db->get();
  return $result->result_array();	
}
	
	//////////////////////////////////viejoo //////////////
	function crearServDb($d)
	{
	$insert = array(
		'nombre' => $d['nombre'],	
		'descripcion' => $d['descripcion'], );
		$this -> db -> insert('Servicios',$insert);
	}
	
	function obtener_servicios()
	{
	
		$this -> db -> from('Servicios');
		$result = $this -> db -> get();
		return $result -> result_array();
	}
	
		function crearDispDb($d)
	{
	$insert = array(
		'descripcion' => $d['descripcion'], );
		$this -> db -> insert('dispositivos',$insert);
	}
	
	function obtener_dispositivos()
	{
	
		$this -> db -> from('dispositivos');
		$result = $this -> db -> get();
		return $result -> result_array();
	}
	
	
	////////////////////////////////?///////////////
	////////////////////////////////////////////////
	////////////////////////////////////////////////
	
	
	
	
	
	function obtener_cotizacion_estado($id)
	{
	    $this -> db -> select('Cotizacion.estado');
		$this -> db -> from('Cotizacion');
		$this -> db -> where('Cotizacion.id',$id);

		$result = $this -> db -> get();
		return $result -> row('estado');
	}

	function obtener_proveedor_usuario($id_usuario)
	{
	
		$this -> db -> from('core_proveedores');
		$this -> db -> where('core_proveedores.id_usuario',$id_usuario);
		$result = $this -> db -> get();
		return $result -> result_array();
	}
	function guardar_Item_salida($d)
	{
	 $insert = array(	
		'id_disp' => $d['item'],
		'id_servicio' => $d['servicio'],
	     'estado' => 'SALIDA',
		 'fecha' => date('Y-m-d H:i:s'),
		 'id_usuario' => $this -> session -> userdata('id_usuario'),
		'cantidad' => $d['valor_unit'],);
		$this -> db -> insert('esterilizacion_gestion',$insert);
		
		$this -> db -> from('dispositivos');
		$this -> db -> where('dispositivos.id',$d['item']);
		$result = $this -> db -> get();
		
	
		foreach($result->result() as $row){
			$cantidad=$row->cantidad;
			
			}
		$cantidad=$cantidad-$d['valor_unit'];
		 $update = array(	
		'cantidad' => $cantidad,);
		$this -> db -> where('dispositivos.id',$d['item']);
		$this -> db -> update('dispositivos',$update);
		
	}
	function guardar_Item_ingreso($d)
	{
	 $insert = array(	
		'id_disp' => $d['item'],
	     'estado' => 'INGRESO',
		 'fecha' => date('Y-m-d H:i:s'),
		 'id_usuario' => $this -> session -> userdata('id_usuario'),
		'cantidad' => $d['valor_unit'],);
		$this -> db -> insert('esterilizacion_gestion',$insert);
		
		
		$this -> db -> from('dispositivos');
		$this -> db -> where('dispositivos.id',$d['item']);
		$result = $this -> db -> get();
		
	
		foreach($result->result() as $row){
			$cantidad=$row->cantidad;
			
			}
		$cantidad=$cantidad+$d['valor_unit'];
		 $update = array(	
		'cantidad' => $cantidad,);
		$this -> db -> where('dispositivos.id',$d['item']);
		$this -> db -> update('dispositivos',$update);
		
	}
	
	
	function traer_Resultados($id_cotizacion)
	{    
	$this->db->select('cot_detalle.id_cotizacion,
	cot_prouctos.producto,
	cot_prouctos.item,
	cot_prouctos.adjudicado
		');
		$this ->db-> from('cot_detalle');
		$this->db->join('cot_prouctos','cot_detalle.id_producto = cot_prouctos.item');
		$this ->db->where('cot_prouctos.id_cotizacion',$id_cotizacion);
		$this ->db->where('cot_detalle.id_cotizacion',$id_cotizacion);
		$this ->db->group_by('id_producto');
		$this ->db->order_by('item','asc');
		$result = $this -> db -> get();
		return $result -> result_array();
		
		
		
		
		}
	function traer_Items($id_cotizacion)
	{    
	$this->db->select('	cot_prouctos.producto,
	cot_prouctos.item,
	cot_prouctos.adjudicado,
	cot_prouctos.cantidad
		');
		$this ->db-> from('cot_prouctos');
		$this ->db->where('cot_prouctos.id_cotizacion',$id_cotizacion);
		$this ->db->order_by('item','asc');
		$result = $this -> db -> get();
		return $result -> result_array();		
	}
		
		// trar los datos de un item seleccionado
		function traer_Items_seleccionado($id_cotizacion,$item)
	{    
	$this->db->select('	cot_prouctos.producto,
	cot_prouctos.item,
	cot_prouctos.adjudicado,
	cot_prouctos.cantidad
		');
		$this ->db-> from('cot_prouctos');
		$this ->db->where('cot_prouctos.id_cotizacion',$id_cotizacion);
		$this ->db->where('cot_prouctos.item',$item);
		$this ->db->order_by('item','asc');
		$result = $this -> db -> get();
		return $result -> result_array();		
	}
	function obtener_producto($id_cotizacion,$id_producto)
	{
		
		$this -> db -> from('cot_prouctos');
		$this -> db -> where('cot_prouctos.id_cotizacion',$id_cotizacion);
		$this -> db -> where('cot_prouctos.item',$id_producto);
		$result = $this -> db -> get();
		return $result -> result_array();
		
	}
	
	//obtengo los productos que fueron cotizados
	function obtener_producto_cotizado($id_cotizacion)
	{
		
		$this -> db -> from('cot_prouctos');
		 $this->db->join('cot_detalle','cot_detalle.id_producto = cot_prouctos.item','LEFT');		
		$this -> db -> where('cot_prouctos.id_cotizacion',$id_cotizacion);
		$this -> db -> where('cot_detalle.id_cotizacion',$id_cotizacion);
		$this -> db -> group_by('cot_detalle.id_producto','ASC');
         $result = $this -> db -> get();
		return $result -> result_array();
		
	}
	function obtener_producto_cotizado_proveedor($id_cotizacion,$id_proveedor)
	{
		
		$this -> db -> from('cot_prouctos');
		 $this->db->join('cot_detalle','cot_detalle.id_producto = cot_prouctos.item','LEFT');		
		$this -> db -> where('cot_prouctos.id_cotizacion',$id_cotizacion);
		$this -> db -> where('cot_detalle.id_cotizacion',$id_cotizacion);
		$this -> db -> where('cot_detalle.id_proveedor',$id_proveedor);
		$this -> db -> group_by('cot_detalle.id_producto','ASC');
         $result = $this -> db -> get();
		return $result -> result_array();
		
	}
	
	function lista_producto_cotizado($id_cotizacion,$id_producto)
	{
		$this->db->select('cot_detalle.id,
		cot_detalle.id_cotizacion,
		cot_detalle.id_producto,
		cot_detalle.id_proveedor,
		cot_detalle.valor,
		cot_detalle.iva,
		cot_detalle.unidad_medida,
		cot_detalle.cantidad_empaque,
		cot_detalle.marca,
		cot_detalle.archivo_adjunto,
	    core_proveedores.nombre,
		');
		$this -> db -> from('cot_detalle');
		$this->db->join('core_proveedores','cot_detalle.id_proveedor = core_proveedores.id_proveedor');
		
		$this -> db -> where('cot_detalle.id_cotizacion',$id_cotizacion);
		$this -> db -> where('cot_detalle.id_producto',$id_producto);
		$this -> db -> order_by('cot_detalle.valor','ASC');
		
		$result = $this -> db -> get();
		return $result -> result_array();
		
	}
	
	
	// lista producto cotizado proveedor
		function lista_producto_cotizado_proveedor($id_cotizacion,$id_producto,$id_proveedor)
	{
		$this->db->select('cot_detalle.id,
		cot_detalle.id_cotizacion,
		cot_detalle.id_producto,
		cot_detalle.id_proveedor,
		cot_detalle.valor,
		cot_detalle.iva,
		cot_detalle.unidad_medida,
		cot_detalle.cantidad_empaque,
		cot_detalle.marca,
		cot_detalle.archivo_adjunto,
	    core_proveedores.nombre,
		');
		$this -> db -> from('cot_detalle');
		$this->db->join('core_proveedores','cot_detalle.id_proveedor = core_proveedores.id_proveedor');
		
		$this -> db -> where('cot_detalle.id_cotizacion',$id_cotizacion);
		$this -> db -> where('cot_detalle.id_producto',$id_producto);
		$this -> db -> where('cot_detalle.id_proveedor',$id_proveedor);
		$this -> db -> order_by('cot_detalle.valor','ASC');
		
		$result = $this -> db -> get();
		return $result -> result_array();
		
	}
	
	//////se guardaran los datos del producto ya adjudicado
	
	function GuardarProductoCotizado($d)
	{
		 $insert = array(
		'id_cotizacion' => $d['id_cotizacion'],
		'id_proveedor' => $d['proveedor'], 	
		'id_producto' => $d['producto'],
		'id_detalle' => $d['id_detalle'],
		'observacion' => $d['observacion'],
		'fecha' =>	date('Y-m-d H:i:s'),);
		$this -> db -> insert('cot_adjudicados',$insert);
		
		 $update = array(
		'adjudicado' => 'SI');
		$this -> db -> where('id_cotizacion',$d['id_cotizacion']);
		$this -> db -> where('item',$d['producto']);
		$this -> db -> update('cot_prouctos',$update);
		//----------------------------------------------------	
	}
	//lista de proveedores adjudicados
	function ListaAdjudicados($d)
	{
	  	$this -> db -> from('cot_adjudicados');
		$this -> db -> where('cot_adjudicados.id_cotizacion',$d);
		$this -> db -> group_by('cot_adjudicados.id_cotizacion');
		$this -> db -> group_by('cot_adjudicados.id_proveedor');

		$result = $this -> db -> get();
		return $result -> result_array();
		
		
	}
	// proveedor adjudicado
		function ListaAdjudicado($d,$id_proveedor)
	{
	  	$this -> db -> from('cot_adjudicados');
		$this -> db -> where('cot_adjudicados.id_cotizacion',$d);
		$this -> db -> where('cot_adjudicados.id_proveedor',$id_proveedor);
		$this -> db -> group_by('cot_adjudicados.id_cotizacion');
		$this -> db -> group_by('cot_adjudicados.id_proveedor');

		$result = $this -> db -> get();
		return $result -> result_array();
		
		
	}
	
		function ProveedorAdjudicado($id_cotizacion,$id_proveedor)
	{
	  	$this -> db -> from('cot_adjudicados');
		$this -> db -> where('cot_adjudicados.id_cotizacion',$id_cotizacion);
		$this -> db -> where('cot_adjudicados.id_proveedor',$id_proveedor);
		$this -> db -> group_by('cot_adjudicados.id_cotizacion');
		$this -> db -> group_by('cot_adjudicados.id_proveedor');

		$result = $this -> db -> get();
		return $result -> result_array();
		
		
	}
		function obtener_proveedor($id_proveedor)
	{
	
		$this -> db -> from('core_proveedores');
		$this -> db -> where('id_proveedor',$id_proveedor);
		
		$result = $this -> db -> get();
		return $result -> result_array();
	}
	
	// traemos los timpos de cotizacion o grupo de compras
		function obtener_tipo_cotizacion()
		{
		$this -> db -> from('grupo_productos');
		
		$result = $this -> db -> get();
		return $result -> result_array();
			
		}
		
		
		
		
		function lista_producto_adjudicado($id_proveedor,$id_cotizacion)
	{
		$this->db->select('cot_detalle.id,
		cot_detalle.id_cotizacion,
		cot_detalle.id_producto,
		cot_detalle.id_proveedor,
		cot_detalle.valor,
		cot_detalle.iva,
		cot_detalle.unidad_medida,
		cot_detalle.cantidad_empaque,
		cot_detalle.marca,
		');
		$this -> db -> from('cot_adjudicados');
		$this->db->join('cot_detalle','cot_adjudicados.id_detalle=cot_detalle.id ','left');
		
		$this -> db -> where('cot_adjudicados.id_cotizacion',$id_cotizacion);
		$this -> db -> where('cot_adjudicados.id_proveedor',$id_proveedor);
		$result = $this -> db -> get();
		return $result -> result_array();
		
	}
function producto_cotizado_menor($id_cotizacion,$id_producto)
	{
		$this->db->select('cot_detalle.id,
		cot_detalle.id_cotizacion,
		cot_detalle.id_producto,
		cot_detalle.id_proveedor,
		cot_detalle.valor,
		cot_detalle.iva,
		cot_detalle.unidad_medida,
		cot_detalle.cantidad_empaque,
		cot_detalle.marca,
		cot_detalle.archivo_adjunto,
	    core_proveedores.nombre,
		');
		$this -> db -> from('cot_detalle');
		$this->db->join('core_proveedores','cot_detalle.id_proveedor = core_proveedores.id_proveedor');
		
		$this -> db -> where('cot_detalle.id_cotizacion',$id_cotizacion);
		$this -> db -> where('cot_detalle.id_producto',$id_producto);
		$this -> db -> order_by('cot_detalle.valor','ASC');
		$this -> db -> limit('1');
		
		$result = $this -> db -> get();
		return $result -> result_array();
		
	}
	
	
}